package br.com.datatraffic.fiscal.entidades;

// Generated 10/07/2009 10:49:54 by Hibernate Tools 3.2.0.b9

import java.util.ArrayList;
import java.util.List;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.OneToMany;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;

import org.hibernate.annotations.Cache;

/**
 * Classificacao generated by hbm2java
 */
@Entity
@Table(name = "TBCLASSIFICACAO")
public class Classificacao5 implements java.io.Serializable {

	public static final Long SEM_CLASSIFICACAO = 140L;
	
	private Long id;
	private String nome;
	private String descricao;
	private String codigo;
	private Long qtdeEixos;
	private Double cmt;
	private double taraPadrao;
	private double percentualLivre;
	private double percentualMeiaCarga;
	private double percentualFuga;


	private List<Trafego> trafegos = new ArrayList<Trafego>(0);
	private List<Ticket5> tickets = new ArrayList<Ticket5>(0);

	public Classificacao5() {
	}

	public Classificacao5(Long id){
		this.id = id;
		
	}
	public Classificacao5(Long id, Long qtdeEixos, double taraPadrao,
			double percentualLivre, double percentualMeiaCarga,
			double percentualFuga) {
		this.id = id;
		this.qtdeEixos = qtdeEixos;
		this.taraPadrao = taraPadrao;
		this.percentualLivre = percentualLivre;
		this.percentualMeiaCarga = percentualMeiaCarga;
		this.percentualFuga = percentualFuga;
	}

	public Classificacao5(Long id, String nome, String descricao, String codigo,
			Long qtdeEixos, Double cmt, double taraPadrao,
			double percentualLivre, double percentualMeiaCarga,
			double percentualFuga, List<Trafego> trafegos, List<Ticket5> tickets) {
		this.id = id;
		this.nome = nome;
		this.descricao = descricao;
		this.codigo = codigo;
		this.qtdeEixos = qtdeEixos;
		this.cmt = cmt;

		this.taraPadrao = taraPadrao;
		this.percentualLivre = percentualLivre;
		this.percentualMeiaCarga = percentualMeiaCarga;
		this.percentualFuga = percentualFuga;
		this.trafegos = trafegos;
		this.tickets = tickets;
	}

	@Id
	@SequenceGenerator(name = "SQ_TBCLASSIFICACAO", sequenceName = "SQ_TBCLASSIFICACAO", allocationSize = 1)
	@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "SQ_TBCLASSIFICACAO")
	@Column(name = "CLASSIFICACAO_ID", unique = true, nullable = false, precision = 38, scale = 0)
	public Long getId() {
		return this.id;
	}

	public void setId(Long id) {
		this.id = id;
	}

	@Column(name = "NOME", length = 50)
	public String getNome() {
		return this.nome;
	}

	public void setNome(String nome) {
		this.nome = nome;
	}

	@Column(name = "DESCRICAO", length = 50)
	public String getDescricao() {
		return this.descricao;
	}

	public void setDescricao(String descricao) {
		this.descricao = descricao;
	}

	@Column(name = "CODIGO", length = 50)
	public String getCodigo() {
		return this.codigo;
	}

	public void setCodigo(String codigo) {
		this.codigo = codigo;
	}

	@Column(name = "QTDE_EIXOS", nullable = false, precision = 38, scale = 0)
	public Long getQtdeEixos() {
		return this.qtdeEixos;
	}

	public void setQtdeEixos(Long qtdeEixos) {
		this.qtdeEixos = qtdeEixos;
	}

	@Column(name = "CMT", precision = 50, scale = 0)
	public Double getCmt() {
		return this.cmt;
	}

	public void setCmt(Double cmt) {
		this.cmt = cmt;
	}

	@Column(name = "TARA_PADRAO", nullable = false, precision = 50, scale = 0)
	public double getTaraPadrao() {
		return this.taraPadrao;
	}

	public void setTaraPadrao(double taraPadrao) {
		this.taraPadrao = taraPadrao;
	}

	@Column(name = "PERCENTUAL_LIVRE", nullable = false, precision = 50, scale = 0)
	public double getPercentualLivre() {
		return this.percentualLivre;
	}

	public void setPercentualLivre(double percentualLivre) {
		this.percentualLivre = percentualLivre;
	}

	@Column(name = "PERCENTUAL_MEIA_CARGA", nullable = false, precision = 50, scale = 0)
	public double getPercentualMeiaCarga() {
		return this.percentualMeiaCarga;
	}

	public void setPercentualMeiaCarga(double percentualMeiaCarga) {
		this.percentualMeiaCarga = percentualMeiaCarga;
	}

	@Column(name = "PERCENTUAL_FUGA", nullable = false, precision = 50, scale = 0)
	public double getPercentualFuga() {
		return this.percentualFuga;
	}

	public void setPercentualFuga(double percentualFuga) {
		this.percentualFuga = percentualFuga;
	}

	@OneToMany(fetch = FetchType.LAZY, mappedBy = "classificacao")
	public List<Trafego> getTrafegos() {
		return this.trafegos;
	}

	public void setTrafegos(List<Trafego> trafegos) {
		this.trafegos = trafegos;
	}

	@OneToMany(fetch = FetchType.LAZY, mappedBy = "classificacao")
	public List<Ticket5> getTickets() {
		return this.tickets;
	}

	public void setTickets(List<Ticket5> tickets) {
		this.tickets = tickets;
	}

	// The following is extra code specified in the hbm.xml files
	private static final long serialVersionUID = 1L;
	// end of extra code specified in the hbm.xml files

}
